package com.ns.scs.task.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ns.scs.task.dto.ScheduledPageDto;
import com.ns.scs.task.entity.ScheduledTask;
import com.ns.scs.task.vo.ScheduledTaskVO;

/**
 * 定时任务服务接口
 *
 * @author liao.wei
 * @since 2024/11/11
 */
public interface IScheduledTaskService extends IService<ScheduledTask> {

    /**
     * 分页模糊查询
     *
     * @param dto 参数
     * @return Page
     */
    Page<ScheduledTaskVO> getList(ScheduledPageDto dto);


    /**
     * 执行
     *
     * @param id 任务id
     */
    void start(Long id);

    /**
     * 停止
     *
     * @param id 参数
     */
    void stop(Long id);

    /**
     * 重启
     *
     * @param id 任务id
     */
    void restart(Long id);

    /**
     * 初始化定时任务
     */
    void initTask();
}